1. Field of The Invention
The invention relates to the field of computer system power management, and in particular, to managing the powering-up or "spin-up" of direct access storage devices (DASD's, i.e., disk drives) in a computer system.
2. Background Information
Computer system start-up time, also referred to as initial program load (IPL) time, is determined in part by the time it takes to start direct access storage devices (DASD's), i.e., disk drives. DASD's have a significant so-called "spin-up" time to start and get their motors up to a nominal speed (disk operating rpm). During this spin-up time, the DASD's are drawing significantly more power than during their steady-state, i.e., when their motors are already running and the disks are spinning at their nominal operating rpm. This power required to start and spin-up a DASD to nominal operating rpm, the DASD power for spin-up, will be referred to herein as "dpsu", and the DASD power while running will be referred to as "dpr." The spin-up time will be referred to as "sut" herein.
The dpsu, the power required to start the DASD motors and get the disks up to a nominal rpm, can be approximated well by a square pulse of power for time sut. Once the motors are turning (steady-state operation) they require less power, i.e., dpr, and this difference is due in part to inertial and electrical effects, as one skilled in the art would readily appreciate. An exemplary DASD sut is about 9 seconds, and an exemplary dpsu is about 42 watts. An exemplary running power, dpr, is about 19 watts.
The DASD's also use a relatively small amount of power when their electronic circuits are powered-up, but their motors are not running, i.e., the DASD power when idle, referred to herein as "dpi." An exemplary dpi is about 1 watt.
To recap, when power is first applied, a DASD consumes dpi watts until the motor is turned on, then for a period of time, it consumes dpsu watts during spin-up. After that, the DASD consumes dpr watts until the motor is turned off.
Because of the power required to spin-up the DASD's, typically, DASD spin-ups have to be staggered so as not to cause a problem by exceeding the power supply capabilities of the computer system. An exemplary computer system power supply provides about 650 watts. (Although a typical mid-range to high-end computer system also has at least one redundant/backup power supply as well as the primary power supply, this backup power is only used upon failure of the primary power supply.) The DASD's are started sequentially under the control of their input/output controllers (IOC's), and only enough power is provided to start a few DASD's at once beyond the maximum load. However, this solution requires considerable time to start the DASD's.
An alternate solution to the power problem is to provide enough power supply capability in the computer system to start all of the DASD's at once. However, this adds to the overall cost of the system, especially where the system has redundant/backup power supplies which also must be sized larger. Taking the exemplary values above, with 48 DASD's, a primary power capability of over 2,000 watts might be required just to start all the DASD's at once, not to mention also running system electronics. Of course, besides costs involved with manufacturing larger power supplies, there are the related costs of extra cooling and space requirements, as well as greater overall energy use of a computer system so equipped.
Another factor is that the DASD spin-up until now has been under control of the DASD input/output controllers (IOC's). The staggered startup routine currently in use by the IOC's has at least two limitations. First, it uses a linear method of starting the drives; where several time intervals are used to start the drives, and a set number of drives are started in each interval. This method is limited by the number of drives that can be started in the last time interval. To simplify the IOC controlled spin-up routine, a fixed number of DASD's are started every X seconds. Of course the fewer started every X seconds, the longer it takes to get them all going. As more and more drives are started, their steady-state power usage takes more and more of the power available from the power supply. This means that less power is available to start another drive. When down to the last few drives remaining to be started, there has to be enough power available to start the remaining drives. Since it takes more power to start a drive than to maintain it, unless there is substantial excess power, then there may only be enough power left at the end to start one drive at a time. (This would be the case if there had been as many drives installed in the system as the power supply could support.)
A second limitation is that the DASD controllers (IOC's) have limited information on how much power is required to spin-up and run a DASD, and how much power is actually available in the computer system. The controller may have some rudimentary information about the type of drive it is controlling, but it probably does not know the specific power requirements of each particular type of DASD connected to it. The IOC, therefore, would be programmed to assume the parameters for the worst case DASD's that could be attached. This information would be stored on-board the controller.
Likewise, the controllers may have some limited information about the possible power supply capabilities, which however, may vary substantially from system to system.
Consequently, the IOC's must be programmed to implement a worst case algorithm for DASD start up, based on the highest power DASD's and the lowest capacity power supplies, in order to guarantee they do not exceed power supply capacity and cause a power fault. Clearly, this will sometimes result in large inefficiencies, since the worst case assumption does not take into account the actual power capabilities and requirements of a particular computer system.
In addition, where DASD spin-up is controlled by the IOC's, the DASD spin-up cannot even begin until the IOC has completed its own reset and initialization at IPL. As should be readily apparent, the time involved in a system with a large number of DASD's and IOC's can add up is quickly, resulting in significant time lost during IPL.
For example, assume the controller performs the spin-up, and assume spin-up cannot start until the controller is reset and it performs its initialization. The controller initialization process might require 10 seconds and then, if 3 drives were started every 9 seconds, for example, then 48 drives would require 16.times.9=144 seconds. However, the initialization does not start until the reset is removed, which also requires a finite amount of time. Just getting the DASD's spun-up, therefore, may take in excess of 2.5 to 3.0 minutes in a typical system. Since system processor performance is measured in mega-flops and even terra-flops per second (a "flop" is a floating point operation), considerable processing time may be lost.
As mentioned above, the IOC's implement a worst case routine, assuming the lowest capabilities for the power supplies and the highest power requirements for the DASD's. As a result, the prior process of starting the DASD's clearly will generally not result in maximum efficiency because the actual system may have, and probably will have, hardware quite different from the worst case situation.
Therefore, in view of the above, a need has existed for a better way to handle DASD spin-up to overcome the disadvantages in the prior process.
There is also known a system power control network (SPCN) which is disclosed in U.S. Pat. No. 5,117,430, for example. The SPCN was designed as a low volume serial network used to monitor power conditions at a plurality of interconnected nodes in a computer system, in particular, the IBM AS/400 (IBM and AS/400 are registered trademarks of International Business Machines Corporation).
Improvements in the SPCN are disclosed in co-pending applications Ser. Nos. 08/912,561 and 08/912,403, allowed Nov. 1, 1999 and U.S. Pat. 5,935,252, issued Aug. 10, 1999, for example.
The SPCN may include one or more microprocessors which monitor the status of, and make occasional adjustments to, the power conditions at the respective computer system nodes. At system start-up (IPL), the SPCN microprocessors are able to quickly gather computer system configuration information ahead of and independently of the computer system main communication paths.